#ifndef FACTORYMODEL_H
#define FACTORYMODEL_H

#include <QMap>
#include <QObject>
#include <QWidget>
#include <functional>

static const QString DK_AD_ClassMgrList  = "AD_ClassMgrList";
static const QString DK_AD_OneClassInfo  = "AD_OneClassInfo";
static const QString DK_AD_StudentMgrList  = "AD_StudentMgrList";
static const QString DK_AD_UserInfo  = "AD_UserInfo";
static const QString DK_AD_userMgrList  = "AD_userMgrList";
static const QString DK_ST_OneStudentInfo  = "ST_OneStudentInfo";
static const QString DK_TE_ClassGrade  = "TE_ClassGrade";
static const QString DK_Log  = "Log";
static const QString DK_AD_CourseMgrList  = "AD_CourseMgrList";
static const QString DK_AD_ProfessionalsMgrLisr  = "AD_ProfessionalsMgrLisr";




class FactoryModel : public QObject
{
    Q_OBJECT
public:
    explicit FactoryModel(QObject *parent = nullptr);

    QWidget* createWid(const QString &widgetName,const QString &parameter = "");

    void initCreateFunc();



signals:

private:
    QMap<QString,std::function<QWidget*(const QString& para)>> createFunc;
};

#endif // FACTORYMODEL_H
